package vip.xiaomaoxiaoke.idempotent.support;

/**
 * 数据库操作接口，相当于防腐层，怎么无论是使用mysql存储还是redis存储都并不关心，重要实现该接口就好了
 */
public interface ExecutionRecordRepository {

    /**
     * 数据更新
     * */
    void update(ExecutionRecord executionRecord);

    /**
     * 创建或获取
     * 实现此方法时必须考虑分布式场景下的并发问题
     * */
    ExecutionRecord getOrCreate(int type, String key);
}
